home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_300 / 323_01 / adv_def.h < prev    next >
C/C++ Source or Header  |  1990-08-04  |  2KB  |  69 lines

  1. /*--------------------------------------------------------------------------*\
  2. | ADV-DEF.H : defines the adventure world types and externals                |
  3. \*--------------------------------------------------------------------------*/
  4.  
  5. /*----------------------------*/
  6. /* Location
  7. */
  8. #define MaxDirs 6       /* Maximum 6 directions used (N E S W U D) */
  9.  
  10. enum { north, east, south, west, up, down };   /* named directions */
  11.  
  12. typedef struct   /* room information */
  13. {
  14.   char  *name;             /* description of the room */
  15.   int   link [ MaxDirs ];  /* room connections: N E S W U D */
  16. }
  17. room_type;
  18.  
  19.  
  20. /*----------------------------*/
  21. /* objects
  22. */
  23. typedef struct     /* object information */
  24. {
  25.   char
  26.     *name;         /* name of object */
  27.  
  28.   int
  29.     init_loc,      /* initial location */
  30.     attr,          /* attribute:  b0=get  (b1=check in get)  b2=look  */
  31.     loc;           /* current location */
  32. }
  33. object_type;
  34.  
  35.  
  36. /*----------------------------*/
  37. /* vocabulary
  38. */
  39. typedef struct          /* vocabulary word */
  40. {
  41.   char *name;           /* words used */
  42.   int num;              /* which object it corresponds to */
  43. }
  44. vocab_type;
  45.  
  46.  
  47. /*----------------------------*/
  48. /* externals to be provided by the specific adventure-def file
  49. */
  50. extern room_type room[];
  51.  
  52. extern object_type obj [];
  53.  
  54. /*
  55.   start w/blank string, end w/null string
  56.   {
  57.   "    " , 0 ,
  58.  ...
  59.   "",0
  60.   }
  61. */
  62. extern vocab_type v_noun [];
  63. extern vocab_type v_verb[];
  64.  
  65. extern int
  66.   num_verbs, num_nouns,         /* # of verbs and nouns */
  67.   NumLocs, NumObjs, NumDirs;    /* # locations, objects, directions */
  68.  
  69.